LOOKUPL Function
Syntax
Arguments
- matchtype
A 1-character string that specifies which lookup table record should supply the value if more than one record matches the Key_Value. "F" = First "L" = Last "C" = Closest match. Closest match uses the first occurrence of the closest inexact match if an exact match does not exist, otherwise it uses the first occurrence of an exact match.
- keyvalue
The value of a key to search for. The type of Key_Value must be the same as the type of the keys in the index specified by Index_Name. Any type
- result_expression
The name of a field in the Lookup_Table or a valid expression which may contain one or more fields.
- tablename
The fully qualified name of a table. If you omit the drive and path, Alpha Anywhere searches the directory of the current database.
- tagname
The name of an index in the index lookup table that may contain the Key_Value.
Description
Returns the value of a logical expression in an external table.
Discussion
LOOKUPL() searches an external lookup table ( Lookup_Table ) for an indexed record matching the Key_Value, and returns the logical value in Lookup_Expression from the matching record. Alpha Anywhere performs an indexed search of the Lookup_Table using the Index_Name index. Note : If a record with a matching Key_Value is not found, Alpha Anywhere returns .F. (FALSE).
Example
Assume that the Customer and Invoice tables contain the following records:
- CUSTOMER
- CUST_ID
LAST_NAME
- C001
Gorby
- C002
Peabody
- C003
Rebo
- INVOICE
- INV_NO
CUST_ID CREDIT
- I001
C001 .F.
- I002
C002 .T.
- I003
C003 .F.
- I004
C004 .T.
- I005
C001 .T.
If the following expression defines a calculated field or global variable for the Customer table, Alpha Anywhere returns the logical value of the first invoice record that matches the current customer record:
? lookupl("F", CUST_ID, "CREDIT", "c:\databases\INVOICE.DBF", "CUSTOMER_ID") = FALSE 'if the current customer record is C001
The Customer identification field ( CUST_ID ) exists in both tables. In the above expression, CUST_ID is the field from the Customer table field, and CUSTOMER_ID is the name of an index on the CUST_ID field from the INVOICE table. Note : You can use TABLE.FILENAME_GET()to get the fully qualified name of a table.
See Also